package com.chenfan.mcn.dao;

import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.chenfan.common.extension.mybatisplus.enhanced.EnhancedBaseMapper;
import com.chenfan.mcn.model.StarRateCard;
import com.chenfan.mcn.model.dto.RateCardPriceQueryDTO;
import com.chenfan.mcn.model.dto.RateCardStarPlatformQueryDTO;
import com.chenfan.mcn.model.dto.StarRateCardDetailQueryDTO;
import com.chenfan.mcn.model.dto.StarRateCardSearchDTO;
import com.chenfan.mcn.model.vo.RateCardStarPlatformVO;
import com.chenfan.mcn.model.vo.StarRateCardListVO;
import org.apache.ibatis.annotations.Param;

/**
 * <p>
 * 红人刊例管理表 Mapper 接口
 * </p>
 *
 * @author wulg
 * @since 2021-12-29
 */
public interface StarRateCardMapper extends EnhancedBaseMapper<StarRateCard> {


    /**
     * 红人刊例分页查询
     * @param page
     * @param searchDTO
     * @return
     */
    Page<StarRateCardListVO> selectByPage(Page<StarRateCardListVO> page, @Param("dto") StarRateCardSearchDTO searchDTO);


    /**
     * 红人刊例明细分页查询
     * @param page
     * @param queryDTO
     * @return
     */
    Page<JSONObject> queryDetails(Page<JSONObject> page, @Param("dto") StarRateCardDetailQueryDTO queryDTO);

    /**
     * 分页查询该刊例尚未添加的红人平台信息
     * @param page
     * @param queryDTO
     * @return
     */
    Page<RateCardStarPlatformVO> getStarPlatformList(Page<JSONObject> page, @Param("dto") RateCardStarPlatformQueryDTO queryDTO);

    /**
     * 获取刊例报价
     * @param dto
     * @return
     */
    String getRateCardPrice(@Param("dto") RateCardPriceQueryDTO dto);
}
